package com.hyt.it.ogt.kq.service.gov.service;

import java.io.InputStream;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hyt.it.ogt.kq.service.gov.model.entity.SysFile;

/**
 * <p>
 * 文件表 服务类
 * </p>
 *
 * @author huangyh
 * @since 2021-09-02
 */
public interface ISysFileService extends IService<SysFile> {

    /**
     * 件上传至华为云，并且将记录保存到系统文件表，返回系统文件表id
     * @param filePathName
     * @param file
     * @param fileType
     * @return
     * @throws Exception
     */
    String uploadHuaweiCloudAndSaveSysFile(String filePathName, MultipartFile file, String fileType) throws Exception;

    /**
     * 文件上传至华为云，并且将记录保存到系统文件表，返回系统文件表id
     * @param fileName
     * @param filePathName
     * @param inputStream
     * @param fileType
     * @return
     * @throws Exception
     */
    String uploadHuaweiCloudAndSaveSysFile(String fileName,String filePathName, InputStream inputStream, String fileType) throws Exception;
    /**
     * 获取华为云上传地址喊文件名。结果例如：
     * @param taskCode
     * @param businessFolderName
     * @param fileOriginalName
     * @return
     */
    String getFilePathName(String taskCode, String businessFolderName, String fileOriginalName);

    /**
     * 根据考试任务编号获取基础包信息
     * @param taskCode 考试任务编号
     * @return 基础包信息
     */
    SysFile getBaseDataByTaskCode(String taskCode);

    SysFile getSysFileById(String fileId);
}
